Mobile IP (MIP) is an Internet Engineering Task Force (IETF) standard communication protocol that is designed to allow mobile devices to maintain a permanent IP address (home address) associated with one network (home network) and stay connected when moving to a network with a different IP address. MIP supports mobility by transparently binding the home address of the mobile device with its care-of address. The care-of-address is usually the IP address of the foreign agent. This mobility binding is maintained by routers known as mobility agents. Mobility agents are of two types—home agents and foreign agents. The home agent, a designated router in the home network of the mobile device, maintains the mobility binding in a mobility binding table. The purpose of this table is to map a mobile device's home address with its care-of address and forward packets accordingly. The home agent stores information about mobile devices whose permanent address is in the home agent's network. Foreign agents are routers on the foreign network where the mobile device is currently visiting. The foreign agent maintains a visitor list which contains information about the mobile devices currently visiting that network. When a user leaves the home network and enters the domain of a foreign network, the foreign agent of the foreign network uses MIP to inform the home network of a care-of address to which all packets for the user's device should be sent.
When a device (mobile or non-mobile) wants to communicate with the mobile device, it sends an IP packet addressed to the permanent home IP address of the mobile device. These packets are intercepted by the home agent, which uses a table to determine if the mobile device is currently visiting another network. The home agent finds out the mobile device's care-of address and constructs a new IP header that contains the mobile device's care-of address as the destination IP address. The original IP packet is put into the payload of this IP packet, and the home agent then sends the packet to the foreign agent servicing the mobile device. This process of encapsulating one IP packet into the payload of another is known as IP-in-IP encapsulation or tunneling. The packets are decapsulated at the end of the tunnel by the foreign agent to remove the added IP header and delivered to the mobile device. When acting as sender, mobile device simply sends packets to the other communicating device through the foreign agent. To send the data packets to the other device, the foreign agent uses a reverse tunneling procedure by tunneling mobile device's packets to the mobile device's home agent, which in turn forwards them to the communicating device.
Reverse tunneling decreases the efficiency of a wireless service provider as the service provider has to spend additional time and resources executing additional steps of sending data packets to each mobile device's home agent each time data is to be transmitted from one mobile device to another. Consequently, there is a need for a system and method that will optimize the communication path between multiple mobile devices by bypassing the reverse tunneling of data packets to each mobile device's home agent.